package cn.iocoder.yudao.module.shop.controller.admin.jiucase.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;

/**
 * 店铺灸法案例 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ShopJiuCaseBaseVO {

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "标题不能为空")
    private String title;

    @Schema(description = "订单id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "订单id不能为空")
    private Long orderId;

    @Schema(description = "次数索引", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "次数索引不能为空")
    private Integer times;

    @Schema(description = "会员编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3876")
    @NotNull(message = "会员编号不能为空")
    private Long memberId;

    @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotNull(message = "名字不能为空")
    private String memberName;

    @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "性别不能为空")
    private Byte memberSex;

    @Schema(description = "年龄", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "年龄不能为空")
    private Integer memberAge;

    @Schema(description = "体重", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "体重不能为空")
    private Integer memberWeight;

    @Schema(description = "电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "电话不能为空")
    private String memberPhone;

    @Schema(description = "艾灸师id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5219")
    @NotNull(message = "艾灸师id不能为空")
    private Long userId;

    @Schema(description = "艾灸师名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotNull(message = "艾灸师名字不能为空")
    private String userName;

    @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "标签不能为空")
    private String tags;

    @Schema(description = "案例内容", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "案例内容不能为空")
    private String content;

    @Schema(description = "图片", example = "https://www.iocoder.cn")
    private String picUrl;

    @Schema(description = "视频", example = "https://www.iocoder.cn")
    private String videoUrl;

    @Schema(description = "查阅数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "查阅数量不能为空")
    private Integer readNum;

    @Schema(description = "点赞数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "点赞数不能为空")
    private Integer likeNum;

    @Schema(description = "评论数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "评论数不能为空")
    private Integer commentNum;

    @Schema(description = "类型 0:案例 1:顾客案例 2:教学动态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "类型 0:案例 1:顾客案例 2:教学动态不能为空")
    private Integer showType;

    @Schema(description = "评级", requiredMode = Schema.RequiredMode.REQUIRED, example = "24225")
    @NotNull(message = "评级不能为空")
    private Long levelId;

    @Schema(description = "搜索关键词", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "搜索关键词不能为空")
    private String keyword;

    @Schema(description = "店铺名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotNull(message = "店铺名称不能为空")
    private String tenantName;

}
